package util;

import javax.swing.JFrame;

public abstract class Barrido {
	
	protected int _numFilas;
	protected int _numColumnas;
	protected int _numFilasBarrido;
	protected int _numColumnasBarrido;
	protected int _mitad; //Solo puede ser 0 o 1 dependiendo de si es la primera o segunda mitad
	protected int _tiempo;
	protected Teclado _teclado;
	protected JFrame _frame;
	protected boolean salir;
	protected boolean _retroceso;
	
	public Barrido(){}
	
	public Barrido(Teclado teclado, JFrame frame, int mitad, int numColumnasBarrido, int tiempo){
		_numFilas = teclado.getNumFilas();
		_numColumnas = teclado.getNumColumnas();
		_numFilasBarrido = teclado.getNumFilas();
		_mitad = mitad;
		_tiempo = tiempo;
		_retroceso = false;
		if (numColumnasBarrido == 0){
			_numColumnasBarrido = _numColumnas / 2;
		} else _numColumnasBarrido = numColumnasBarrido;
		_teclado = teclado;
		_frame = frame;
	}
	
	public void eventoRaton(boolean retroceso){
		_retroceso = retroceso;
		salir = true;
	}
	
	public void despintarTeclado(){
		for(int i=0; i<_numFilas;i++)
			for(int j=0; j<_numColumnas;j++)
				_teclado.despintarBotonPosicion(i, j);
	}
	
	public abstract void barrer();
	
	public void morir(){
		System.exit(0);
	}

}
